package com.siysoft.tc.classroom.service;

import java.sql.Timestamp;
import java.util.List;

import com.siysoft.tc.base.bean.bo.ClassroomBo;
import com.siysoft.tc.base.bean.bo.ClassroomDetailBo;
import com.siysoft.tc.base.bean.bo.ClassroomUserBo;
import com.siysoft.tc.base.bean.bo.MemberBo;
import com.siysoft.tc.base.bean.bo.PaginationBo;
import com.siysoft.tc.base.bean.bo.RoomChatBo;

public interface IClassroomService {

	/**
	 * 
	 * @param id
	 * @param pb
	 * @return
	 */
	List<ClassroomBo> getClassroom(Integer id, PaginationBo pb);

	/**
	 * 
	 * @param classroom_id
	 * @param user_id 
	 * @return
	 */
	ClassroomDetailBo getClassroomDetail(Integer classroom_id, Integer user_id);

	/**
	 * 
	 * @param id
	 * @param pb
	 * @return
	 */
	List<MemberBo> getMember(Integer id, PaginationBo pb);

	/**
	 * 
	 * @param id
	 * @return
	 */
	ClassroomUserBo getMemberInfo(Integer id);

	/**
	 * 
	 * @param classroom_id
	 * @param user_id
	 * @return
	 */
	Integer quit(Integer classroom_id, Integer user_id);

	/**
	 * 
	 * @param reservation_id
	 * @param user_id
	 * @param content
	 * @param to_user_name 
	 * @return
	 */
	Integer chat_send(Integer reservation_id, Integer user_id, String content, String to_user_name);
	
	/**
	 * 
	 * @param reservation_id
	 * @return
	 */
	List<RoomChatBo> chat_list(Integer reservation_id);

	/**
	 * 
	 * @param id
	 * @param school
	 * @param lecture
	 * @param max_size
	 * @param address
	 * @param time
	 * @param period
	 * @param goal
	 * @param wage
	 * @param bonus
	 * @return
	 */
	Integer update(Integer id, String school, String lecture, Integer max_size,
			String address, Timestamp time, Integer period, Integer goal,
			Integer wage, Integer bonus);

	/**
	 * 
	 * @param id
	 * @param pb
	 * @param user_type
	 * @return
	 */
	List<MemberBo> getMemberByType(Integer id, PaginationBo pb, Integer user_type);

	/**
	 * 
	 * @param classroom_id
	 * @param user_id
	 * @return
	 */
	Integer agreeTeacher(Integer classroom_id, Integer user_id);

}
